// 格式化日期
function formatDate(date, format = 'yyyy-MM-dd') {
  if (!date) return '';
  
  date = new Date(date);
  
  const o = {
    'M+': date.getMonth() + 1,
    'd+': date.getDate(),
    'h+': date.getHours(),
    'm+': date.getMinutes(),
    's+': date.getSeconds(),
    'q+': Math.floor((date.getMonth() + 3) / 3),
    'S': date.getMilliseconds()
  };
  
  if (/(y+)/.test(format)) {
    format = format.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
  }
  
  for (let k in o) {
    if (new RegExp('(' + k + ')').test(format)) {
      format = format.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)));
    }
  }
  
  return format;
}

// 计算两个日期之间的天数
function getDaysBetween(date1, date2) {
  const time1 = new Date(date1).getTime();
  const time2 = new Date(date2).getTime();
  const diffTime = Math.abs(time2 - time1);
  return Math.ceil(diffTime / (1000 * 60 * 60 * 24));
}

// 获取当前日期
function getCurrentDate(format = 'yyyy-MM-dd') {
  return formatDate(new Date(), format);
}

// 获取当前时间戳
function getTimestamp() {
  return Date.now();
}

export {
  formatDate,
  getDaysBetween,
  getCurrentDate,
  getTimestamp
};